set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
/* *******************************************************************
** DATE :
** Writer :
** Memo :
******************************************************************** */
CREATE PROCEDURE [dbo].[TSP_Article_Create]
(
	@IsTransaction	tinyint			= 0
,	@ErrorCode		int				= 0		OUTPUT
,	@ErrorMessage	nvarchar( 1000 )= ''	OUTPUT

,	@n1BoardSN	tinyint	
,	@n4CategoryNo	int			= null
,	@strTitle	nvarchar(400)	
,	@strContent	nvarchar(MAX)
,	@strJSONData	nvarchar(MAX)		= null
,	@strFileUrl varchar(1000)	
,	@n4ManagerSNWriter	int	
,	@strUserID	varchar(50)
,	@n4ReadCount		int			= null
,	@n4ArticleSN	int				= null	OUTPUT
)
as
Set NOCOUNT ON

-- Frk Default Value
DECLARE @FrkDateNow DateTime
DECLARE @FrkRowCount int
DECLARE @FrkTranCount int
DECLARE @FrkErrorCode int
DECLARE @FrkErrorMessage nvarchar( 1000 )
Set @FrkDateNow = GetDate()
set @FrkTranCount = @@TRANCOUNT
-- Frk Check


If ( @IsTransaction = 0 )
Begin
	If ( @FrkTranCount < 1 )
	Begin
		Set @FrkErrorCode = -1
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
	Else If ( @FrkTranCount > 1 )
	Begin
		Set @FrkErrorCode = -2
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
End
Else
Begin
	If ( @FrkTranCount <> 0 )
	Begin
		Set @FrkErrorCode = -3
		Set @FrkErrorMessage = 'Transaction.'
		goto ERROR
	End
	Begin Tran
End

-- Implementation
SET @n4ReadCount = ISNULL( @n4ReadCount, 0 )

INSERT	TB_Article
(
	n1BoardSN
,	n4CategoryNo
,	strTitle
,	strContent
,	strJSONData
,	strFileUrl
,	n4ManagerSNWriter
,	strUserID
,	dtCreatedDate
,	dtModifiedDate
,	n4ReadCount
)
SELECT
	@n1BoardSN
,	@n4CategoryNo
,	@strTitle
,	@strContent
,	@strJSONData
,	@strFileUrl
,	@n4ManagerSNWriter
,	@strUserID
,	@frkDateNow
,	@frkDateNow
,	@n4ReadCount
SELECT
	@FrkErrorCode = @@ERROR
,	@FrkRowCount = @@RowCount

set @n4ArticleSN = scope_identity()

-- Frk Error Check
SELECT
	@FrkErrorCode = @@ERROR
,	@FrkRowCount = @@RowCount

-- End

COMPLETE:
	If ( @IsTransaction <> 0 )
	Begin
		If ( @@TRANCOUNT = 1 )
		Begin
			Commit Tran
		End
	End
	SET @ErrorCode = 0
	SET @ErrorMessage = ''
	return 0
ERROR:
	If ( @IsTransaction <> 0 )
	Begin
		If ( @@TRANCOUNT = 1 )
		Begin
			Rollback Tran
		End
	End
	SET @ErrorCode = @FrkErrorCode
	SET @ErrorMessage = @FrkErrorMessage
	return @FrkErrorCode
